package cn.bocai.pc.dao.imp;

import java.util.List;
import java.util.Map;

import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.stereotype.Repository;

import cn.bocai.pc.dao.BcThumpicMapper;
import cn.bocai.pc.model.BcPicture;
import cn.bocai.pc.model.BcThumpic;

/**
 * 缩略图信息
 * @author 99fu
 * @2015年7月2日22:46:57
 */
@Repository
public class BcThumpicMapperImpl extends SqlSessionDaoSupport implements BcThumpicMapper {
	String ns="cn.bocai.pc.dao.BcThumpicMapper.";
	/**
	 * 通过图片名称，查出图片的中文描述等信息
	 * @param img  图片文件的名称
	 * @author 99fu
	 * @time 2015/07/02
	 */
	public BcThumpic getThumpicByImgName(String picname) {
		
		// 返回查找对象
		BcThumpic bcThumpic = this.getSqlSession().selectOne(ns+"selecThumpicByImgName", picname);
		return bcThumpic;
	}
	
	/**
	 * 进入首页将推荐的信息显示到轮播图上
	 * @author chenhao
	 * @time 2015/07/04
	 */
	public List<Map<String, Object>> getSelectRecommend(Map<String, Object> playMap) {
		// 返回查找对象
	  /* this.getSqlSession().selectOne(ns+"getSelectRecommend");*/
		List<Map<String, Object>> selectList = this.getSqlSession().selectList(ns+"getSelectRecommend",playMap);
		return selectList;
	}
	

	public BcThumpic selectThumpicByImgName(Map pic) {
		
		return this.getSqlSession().selectOne(ns+"selectThumpicByImgName", pic);
	}
	

	/**
	 * 根据传入的条件查询出收藏者的彩色图
	 * @author chenhao
	 * @time 2015/07/06
	 */
	public List<Map<String, Object>> selectColCollect(Map<String, Object> par) {
		return this.getSqlSession().selectList(ns+"selectColCollect", par);
	}

	/**
	 * 根据传入的条件查询出收藏者的彩色图
	 * @author chenhao
	 * @time 2015/07/07
	 */
	public List<Map<String, Object>> selectThumColCollect(Map<String, Object> par) {
		return this.getSqlSession().selectList(ns+"selectThumColCollect", par);
	}
	
	/**
	 * 查询出用户收藏的所有图片
	 * @author chenhao
	 * @time 2015/07/07
	 */
	public List<BcThumpic> selectAllThum(Map<String, Object> pagePic) {
		return this.getSqlSession().selectList(ns+"selectAllThum", pagePic);
	}
	
	/**
	 * 根据用户收藏的信息查询出用户所对应每一条数据
	 * @author chenhao
	 * @time 2015/07/07
	 */
	public Map<String, Object> getSelectCollect(Map<String, String> collectPic) {
		return this.getSqlSession().selectOne(ns+"getSelectCollect", collectPic);
	}
	
	/**
	 * 搜索全部的总行数
	 * @param id  传递过来的用户主键id
	 * @time 2015/07/08
	 */ 
	public int searAllRowAll(Map<String, Object> searRow){
		return this.getSqlSession().selectOne(ns+"searAllRowAll", searRow);
	};
	
	/**
	 * 搜索出每一条对应的数据
	 * @param getOne 传输过来的参数
	 * @time 2015/07/08
	 */ 
	public List<Map<String, Object>> getSelectsearch(Map<String, Object> getOne){
		return this.getSqlSession().selectOne(ns+"getSelectsearch", getOne);
	};

	
	/**
	 * 查询出所有的略视图以便web层进行遍历查询 
	 * @param colour  传递过来班别类型的
	 * @time 2015/07/011
	 */ 
	public List<BcThumpic> selectHomepage(String colour){
		return this.getSqlSession().selectList(ns+"selectHomepage", colour);
	};
	
	/**
	 * 查询出指定颜色的图片条数
	 * @param colour  传递过来班别类型的
	 * @time 2015/07/017
	 */ 
	public int searThumAllRowAll(String colour){
		return this.getSqlSession().selectOne(ns+"searThumAllRowAll", colour);
		
	}
	
	/**
	 * 根据缩略图查出上一张图片信息
	 * @param map
	 * @return
	 */
	public BcThumpic selectBefore(Map<String, Object> map) {
		return this.getSqlSession().selectOne(ns+"selectBefore", map);
	}
	
	/**
	 * 根据缩略图查出下一张图片信息
	 * @param map
	 * @return
	 */
	public BcThumpic selectAfter(Map<String, Object> map) {
		return this.getSqlSession().selectOne(ns+"selectAfter", map);
	}
	
	/**
	 * 后台：查询出数据库略缩图
	 * @param colour  传递过来班别类型的
	 * @time 2015/08/02
	 */ 
	public List<BcThumpic> baSelectAll(String colour){
		return this.getSqlSession().selectList(ns+"baSelectAll", colour);
	};
	
	
	/**
	 * 后台：查询出略缩图的总行数
	 * @param colour  传递过来班别类型的
	 * @time 2015/08/02
	 */ 
	public int searRowAll(String colour){
		return this.getSqlSession().selectOne(ns+"searRowAll",colour);
	};
	
	/**
	 * 后台：分页搜索出每组对应的数据
	 * @param getOne 传输过来的参数
	 * @time 2015/07/08
	 */ 
	public List<BcThumpic> baGetSelectsearch(Map<String, Object> getOne){
		return this.getSqlSession().selectOne(ns+"baGetSelectsearch", getOne);
	};
	
	/**
	 * 后台：删除略缩数据每条
	 * @param getOne 传输过来的参数
	 * @time 2015/07/08
	 */ 
	public int delectAlone(String  id){
		return this.getSqlSession().delete(ns+"delectAlone", id);
	};
	
	/**
	 * 后台：修改每条数据
	 * @param getOne 传输过来的参数
	 */ 
	public int updateAlone(BcThumpic bcThumpic){
		return this.getSqlSession().update(ns+"updateAlone", bcThumpic);
	};
	/**
	 * 后台：新增一条数据
	 * @param getOne 传输过来的参数
	 */ 
	@Override
	public int addInsert(BcThumpic bcThumpic) {
		return this.getSqlSession().insert(ns+"addInsert", bcThumpic);
	}
	
	/**
	 * 后台：监测修改新增的时候名称是否存在
	 * @param name 传输过来的参数
	 */ 
	@Override
	public String checkoutName(Map<String,Object> map) {
		return this.getSqlSession().selectOne(ns+"checkoutName", map);
	}
	
	
	/**
	 * 后台：搜索数据
	 * @param map 传输过来的参数
	 */ 
	@Override
	public  List<BcThumpic> searDataPic(Map<String,Object> map) {
		return this.getSqlSession().selectList(ns+"searDataPic", map);
	}
	
	/**
	 * 后台：获取最后一条数据的对象
	 * @param map 传输过来的参数
	 */ 
	@Override
	public  BcThumpic reciprocalOne(String _parameter) {
		return this.getSqlSession().selectOne(ns+"reciprocalOne", _parameter);
	}
		
	 /**
	  * 清空数据
	  */ 
	public int clearThumPicData(String colour){
		return this.getSqlSession().delete(ns+"clearThumPicData", colour);
	}
	
	/**
	 * 测试使用
	 */ 
	public int insert(BcThumpic bcThumpic){
		return this.getSqlSession().insert(ns+"insert", bcThumpic);
	}

	
}
